home *** CD-ROM | disk | FTP | other *** search
- // copyright 1993 Michael B. Johnson; some portions copyright 1994, MIT
- // see COPYRIGHT for reuse legalities
- //
-
- #import <appkit/appkit.h>
-
- #import <3Dkit/N3DShader.h>
- #import "WW3DCamera.h"
- #import "Protocol_WWRenderable.h"
-
- @interface WW3DShader:N3DShader < WWRenderable >
- {
- int n;
- RtToken *tokens;
- char **archiveVector;
- int *printfNVector, *printfTypeVector;
- RtPointer *parms;
- id iconImage;
- RtColor ribColor;
- char *quickShader;
- RtLightHandle lightHandle;
- BOOL usingSupportedQRManShader;
- int volumeType; // 0 is interior, 1 is exterior; only applies for volume shaders
- BOOL pointOrArea; // 0 is point, 1 is area; only applies for light shaders
- RtToken token;
- }
-
- - initWithShader:(const char *)shaderName n:(int)newN tokens:(RtToken *)newTokens parms:(RtPointer *)newParms archiveVector:(char **)newArchiveVector printfTypeVector:(int *)newPrintfTypeVector printfNVector:(int *)newPrintfNVector;
- - setShaderArgNamed:(const char *)argName withValue:(RtPointer)value;
- - setToken:(RtToken)theToken;
- - setInterior;
- - setExterior;
- - setPointSource;
- - setAreaSource;
- - (const char *)quickShader;
- - setQuickShader:(const char *)newQuickShader;
- - (RtToken)token;
- - setToken:(RtToken)newToken;
- - set;
- - assignQuickShader;
-
- - (void)setN:(int)newN tokens:(RtToken *)newTokens parms:(RtPointer *)newParms
- archiveVector:(char **)newArchiveVector printfTypeVector:(int *)newPrintfTypeVector printfNVector:(int *)newPrintfNVector;
- - (int)n;
- - (RtToken *)tokens;
- - (RtPointer *)parms;
- - (char **)archiveVector;
- - (int *)printfNVector;
- - (int *)printfTypeVector;
-
- // 3DReality stuff
- - setIconImage:id;
- - setIconImageNamed:(const char *)name;
- - iconImage;
-
- - takeColorArg:sender;
- - takeFloatArg:sender;
- - takePointArg:sender;
- - takeStringArg:sender;
-
- @end
-
- #define WW_ATMOSPHERE 0
- #define WW_INTERIOR 1
- #define WW_EXTERIOR 2
-